const webfontsGenerator = require('vusion-webfonts-generator');
const fs = require('fs');
const path = require('path');
const os = require('os')

console.log(path.join(os.tmpdir(), 'abc', 'ff'));
var uglifycss = require('uglifycss');
 
// var uglified = uglifycss.processFiles(
//     [ 'file1', 'file2' ],
//     { maxLineLen: 500, expandVars: true }
// );

const generate = function (files) {
    console.time('generate');
    webfontsGenerator({
        // files: [
        //     // 'src/svg/search.svg',
        //     // 'src/svg/go.svg',
        //     'src/svg/*.svg',
        //     // file,
        // ],
        files,
        fontName: 'uk',
        templateOptions: {
            classPrefix: 'uk-',
            baseSelector: '.uk2'
        },
        dest: './tmp/',
        types: ['woff2'],
        fontHeight: 1000,
        // writeFiles: false
        html: true
    }, function (error, result) {
        if (error) {
            console.log('Fail!', error);
        } else {
            console.timeEnd('generate');
            console.log('Done!');
            
            // console.log(result.woff2);

            // 创建一个bufferstream
            // var bufferStream = new stream.PassThrough();
            // //将Buffer写入
            // bufferStream.end(result.woff2);
            // //进一步使用
            // bufferStream.pipe( fs.createWriteStream('a.woff2'))
            // var data = result.generateCss({'woff2': 'uk.woff2'})
            // // console.log(data)
            // var uglified = uglifycss.processString(data);
            // // var uglified = uglifycss.processFiles(
            // //     [ './tmp/uk.css' ],
            // //     { maxLineLen: 500, expandVars: true }
            // // );
            // console.log(uglified);
        }
    })
}


fs.readdir('./src/font/svg/', function (err, files) {
    // console.log(files);
    let arr = [];
    files.forEach((name) => {
        if (name.endsWith('.svg')) {
            arr.push(path.join('src/font/svg', name));
        }
    })
    // console.log(arr)
    generate(arr);
})
// var stream = require('stream');
// const request = require('request');
// const file = fs.createReadStream('src/svg/go.svg');
// // const file = request('http://localhost:4001/go.svg');
// file.metadata = {
//     name: 'go',
// };

